package org.lanqiao.util;

import java.util.*;

import org.lanqiao.bean.Access;
/**
 *对读取到的数据进行处理
 */
public class AccessUtil {
	/**
	 * 将类似如下形式的字符串转换为Access集合
		vrdipqeep.cn	[10/22/2007 08:06:52 +0800]	4079	192.168.35.104
		mgqg.cn	[04/17/2003 22:49:40 +0800]	15816	172.17.162.51
		egwjuafk.hdmbuvlpe.com	[02/03/2008 01:37:16 +0800]	22712	192.168.37.118
		
	 * @param s 需要被转换的字符串
	 * @return 转换之后的Info对象集合
	 */
	public List<Access> stringToAccess(String s) {
		//创建新集合
		List<Access> accessList = new ArrayList<Access>();
		//按照"\r\n"拆分字符串，转换为数组
		/*【18】*/String [] accessStrings = s.split("\r\n");
		for(String accessString:accessStrings) {
			String[] accessAttributes = accessString.split("\t");
			Access access = new Access();
			//使用ID工具类创建UUID并赋值给对象的ID属性
			access.setAccessId/*【19】*/(IdUtil.getId());
			access.setAccessUrl(accessAttributes[0]);
			//调用DateUtil工具类的方法，将字符串转换为Date
			access.setAccessDate(DateUtil.convertFromStringToDate/*【20】*/(accessAttributes[1]));
			try {
				//字符串类型的数据转换成整数
				access.setAccessFlow(Integer.parseInt/*【21】*/(accessAttributes[2]));
			}catch(Exception e) {
				//数字转换异常，跳过本次循环，继续下一次循环
				/*【22】*/;
				continue;
			}
			access.setAccessIp(accessAttributes[3]);
			//调用方法将Access对象存入Access集合
			accessList.add/*【23】*/(access);
		}
		//返回集合
		return accessList;
	}
}

